package com.sreader.sreader4j;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;

import com.sreader.logic.CalculLogic;
import com.sreader.logic.OccurenceTable;
import com.vaadin.ui.TextField;

public class PersonBean implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 238708432901726757L;
	private String name_15;
	private String name_14;
	private String name_13;
	private String name_12;
	private String name_11;
	private String name_10;
	private String name_9;
	private String name_8;
	private String name_7;
	private String name_6;
	private String name_5;
	private String name_4;
	private String name_3;
	private String name_2;
	private String name_1;
	private String vorname_15;
	private String vorname_14;
	private String vorname_13;
	private String vorname_12;
	private String vorname_11;
	private String vorname_10;
	private String vorname_9;
	private String vorname_8;
	private String vorname_7;
	private String vorname_6;
	private String vorname_5;
	private String vorname_4;
	private String vorname_3;
	private String vorname_2;
	private String vorname_1;
	private int day_1;
	private int day_2;
	private int month_1;
	private int month_2;
	private int year_1;
	private int year_2;
	private int year_3;
	private int year_4;
	private List<Integer> dayOfBirth;
	private List<Integer> monthOfBirth;
	private List<Integer> yearOfBirth;
	private OccurenceTable occurenceTable;
	private List<Integer> nombreDominants;
	private List<Integer> nombreAbscents;
	private List<Integer> nombresEnExces;
	private List<String>  nameLetters;
	private List<Integer> nameLettersMapping;
	private List<String>  firstnameLetters;
	private List<Integer> dateOfBirth;
	private List<Integer> firstnameLettersMapping;
	private List<String>  firstAndLastNames;
	private List<Integer> firstAndLastNameMapping;
	private List<String>  initialesLetters;
	private List<Integer> initialesLettersMapping;
	private int nombreActif;
	private int nombreHereditaire;
	private int nombreDExpression;
	private int nombreIntime;
	private int nombreDeRealisation;
	private int nombreDesInitiales;
	private int nombreUnique;
	private int cheminDeVie;
	private int lettreDePassage;
	private int anneePersonnelle;
	private int moisPersonnel;
	private int jourPersonnel;
	private String firstNames;
	private String names;
	private String birthDateAsString;
	private CalculLogic calculator;
	private String languageCode;

	public PersonBean(){
		calculator = new CalculLogic();
		//initOne();
	}
	public PersonBean(String languageCode){
		this.setLanguageCode(getLanguageCode());
		calculator= new CalculLogic(getLanguageCode());
	}
	public void setIdentityValues(List<String> firstname, List<String>name,
			List<Integer>dateOfBirth){
		try{
			//System.out.println(firstname.size() +" "+name.size());
			this.setVorname_1(firstname.get(0).toString());
			this.setVorname_2(firstname.get(1).toString());
			this.setVorname_3(firstname.get(2).toString());
			this.setVorname_4(firstname.get(3).toString());
			this.setVorname_5(firstname.get(4).toString());
			this.setVorname_6(firstname.get(5).toString());
			this.setVorname_7(firstname.get(6).toString());
			this.setVorname_8(firstname.get(7).toString());
			this.setVorname_9(firstname.get(8).toString());
			this.setVorname_10(firstname.get(9).toString());
			this.setVorname_11(firstname.get(10).toString());
			this.setVorname_12(firstname.get(11).toString());
			this.setVorname_13(firstname.get(12).toString());
			this.setVorname_14(firstname.get(13).toString());
			this.setVorname_15(firstname.get(14).toString());
			this.setName_1(name.get(0).toString());
			this.setName_2(name.get(1).toString());
			this.setName_3(name.get(2).toString());
			this.setName_4(name.get(3).toString());
			this.setName_5(name.get(4).toString());
			this.setName_6(name.get(5).toString());
			this.setName_7(name.get(6).toString());
			this.setName_8(name.get(7).toString());
			this.setName_9(name.get(8).toString());
			this.setName_10(name.get(9).toString());
			this.setName_11(name.get(10).toString());
			this.setName_12(name.get(11).toString());
			this.setName_13(name.get(12).toString());
			this.setName_14(name.get(13).toString());
			this.setName_15(name.get(14).toString());
			this.setDay_1(Integer.parseInt(dateOfBirth.get(0).toString()));
			this.setDay_2(Integer.parseInt(dateOfBirth.get(1).toString()));
			this.setMonth_1(Integer.parseInt(dateOfBirth.get(2).toString()));
			this.setMonth_2(Integer.parseInt(dateOfBirth.get(3).toString()));
			this.setYear_1(Integer.parseInt(dateOfBirth.get(4).toString()));
			this.setYear_2(Integer.parseInt(dateOfBirth.get(5).toString()));
			this.setYear_3(Integer.parseInt(dateOfBirth.get(6).toString()));
			this.setYear_4(Integer.parseInt(dateOfBirth.get(7).toString()));
			
		}catch (Exception e) {
			// TODO: handle exception
			System.out.println("Erreur " + e.getMessage());
		}
	}
	public void init(){
		//set the firstnames as list<String>
		setFirstnameLetters();
		//set the firstnames as a string
		setFirstNames();
		//set the names as list<String>
		setNameLetters();
		//set the names as a string
		setNames();
		setFirstAndLastNames();
		setInitialesLetters();
		setFirstnameLettersMapping();
		setLastnameLettersMapping();
		setFirstAndLastNameMapping();
		setInitialesLettersMapping();
		//set the day of birth as a ArrayList<d,d> 
		setDayOfBirth();
		//set the month of birth as a ArrayList<m,m>
		setMonthOfBirth();
		//set the year of birth as a ArrayList<y,y,y,y>
		setyearOfBirth();
		//set the complete date of birth as a ArrayList<d,d,m,m,y,y,y,y>
		setDateOfBirth();
		//set the date of birth as a string format dd/mm/yyyy
		setBirthDateAsString();
		nombresEnExces = new ArrayList<Integer>();
		nombreAbscents = new ArrayList<Integer>();
		nombreDominants= new ArrayList<Integer>();
		nombreActif         = 0;
		nombreHereditaire   = 0;
		nombreDExpression   = 0;
		nombreIntime        = 0;
		nombreDeRealisation = 0;
		nombreDesInitiales  = 0;
		cheminDeVie         = 0;
		lettreDePassage     = 0;
		setOccurenceTable();
		calculator.setIndividumLanguageCode(getLanguageCode());
	}
	public String getFirstNames() {
		return firstNames;
	}
	public void setFirstNames() {
		this.firstNames = calculator.computeIdentityComponent(calculator.normalizeLettersList(getFirstnameLetters()));
		
	}
	public String getNames() {
		return names;
	}
	public void setNames() {
		this.names = calculator.computeIdentityComponent(calculator.normalizeLettersList(getNameLetters()));
	}
	public String getLanguageCode() {
		return languageCode;
	}
	public void setLanguageCode(String languageCode) {
		this.languageCode = languageCode;
	}
	public List<Integer> getNombreDominants() {
		return nombreDominants;
	}

	public void computeNombreDominants() {
		nombreDominants = calculator.computeNombreDominant(getOccurenceTable());
	}

	public List<Integer> getNombreAbscents() {
		return nombreAbscents;
		
	}

	public void computeNombreAbscents() {
		
		nombreAbscents = calculator.computeNombreManquant(getOccurenceTable());
	}

	
	/**
	 * Calcul le nombre actif de l'individu
	 * Ce nombre tiré du prénom est aussi appelé
	 * nombre d'évolution personnelle
	 */
	public void computeNombreActif(){
		try{
			List<Integer>firstnameLettersMapping = this.firstnameLettersMapping;
			nombreActif = calculator.miseEnNombreNew(firstnameLettersMapping);
		}catch (Exception e) {
			System.out.println("Erreur: " + e.getMessage());
		}
		System.out.println("nombreActif: " + nombreActif);
	}
	public int getNombreActif(){
		return nombreActif;
	}
	/**
	 * Calcul le nombre héréditaire de l'individu
	 * Ce nombre est tiré du nom de famille 
	 */
	public void computeNombreHereditaire(){
		try{
			List<Integer>lastnameLettersMapping = this.nameLettersMapping;
			nombreHereditaire = calculator.miseEnNombreNew(lastnameLettersMapping);
		}
		catch (Exception e) {
			System.out.println("Erreur: " + e.getMessage());
		}
		System.out.println("nombreHereditaire :" + getNombreHereditaire());
	}
	public int getNombreHereditaire(){
		return this.nombreHereditaire;
	}
	/**
	 * Calcul le nombre d'expression de l'individu
	 * Ce nombre tiré du prénom et du nom  est aussi appelé
	 * nombre de personnalité
	 */
	public void computeNombreDExpression(){
		try{
			/*if(getNombreActif() == 0)
				computeNombreActif();
			if(getNombreHereditaire()==0)
				computeNombreHereditaire();
			nombreDExpression = calculator.computeNombreDExpression(getNombreActif(), getNombreHereditaire());*/
			nombreDExpression = calculator.computeNombreDExpressionOther(getFirstAndLastNameMapping());
		}catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("nombreDExpression: "+ getNombreDExpression());
	}
	public int getNombreDExpression(){
		return nombreDExpression;
	}
	
	public List<Integer> getNombresEnExces() {
		return nombresEnExces;
	}
	/**
	 * 
	 */
	public void computeNombresEnExces() {
		OccurenceTable nameOccurrenceTable = new OccurenceTable();
		List <Integer> nameEntry = new ArrayList<Integer>();
		int nameLength = 0;
		for(int i=0; i<getNameLettersMapping().size();i++){	
			
			if(getNameLettersMapping().get(i) > 0){
				nameLength++;
			}
			/*
			if(getNameLettersMapping().get(i) > 0){
				nameEntry.add(getNameLettersMapping().get(i));
			}else{
				if(!nameEntry.isEmpty()){
					nameOccurrenceTable = calculator.computeOccurenceTable(nameEntry);
					List<Integer> nombres = calculator.computeNombreEnExces(nameOccurrenceTable, nameEntry.size());
					//System.out.println("nombres " + nombres);
					for(int j=0; j<nombres.size();j++){
							nombresEnExces.add(nombres.get(j));
						}
				}
				nameEntry.clear();
			}*/
		}
		List<Integer> nombres = calculator.computeNombreEnExces(getOccurenceTable(), nameLength);
		for(int j=0; j<nombres.size();j++){
			nombresEnExces.add(nombres.get(j));
		}
		System.out.println("nombreEnExces " + nombresEnExces);
	}
	
	/**
	 * 
	 */
	public void computeNombreIntime(){
		try{
			nombreIntime = calculator.computeNombreIntime(getFirstAndLastNames());
		}
		catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("NombreIntime: "+ getNombreIntime());
	}
	public int getNombreIntime(){
		return nombreIntime;
	}
	/**
	 * 
	 */
	public void computeNombreDeRealisation(){
		try{
			nombreDeRealisation = calculator.computeNombreDeRealisation(getFirstAndLastNames());
		}
		catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("NombreDeRealisation: "+ getNombreDeRealisation());
	}
	
	public int getNombreDeRealisation(){
		return nombreDeRealisation;
	}
	
	public void computeNombreDesInitiales(){
		try{
			nombreDesInitiales = calculator.computeNombreDesInitiales(getInitialesLettersMapping());
		}catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("nombreDesInitiales :" + getNombreDesInitiales());
	}
	public int getNombreDesInitiales(){
		return nombreDesInitiales;
	}
	
	public void computeCheminDeVie(){
		try{
			cheminDeVie = calculator.computeCheminDeVie(getDateOfBirth());
		}catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("cheminDeVie :" + getCheminDeVie());
	}
	public int getCheminDeVie(){
		return cheminDeVie;
	}
	
	public void computeNombreUnique(){
		try{
			nombreUnique  = calculator.computeNombreUnique(getNombreDExpression(), getCheminDeVie());
		}catch (Exception e) {
			// TODO: handle exception
		}
		System.out.println("NombreUnique : " + getNombreUnique());
	}
	public int getNombreUnique(){
		return nombreUnique;
	}
	public  OccurenceTable getOccurenceTable() {
		return occurenceTable;
	}
	/**
	 * 
	 */
	public  void setOccurenceTable() {
		occurenceTable = calculator.computeOccurenceTable(getFirstAndLastNameMapping());
		System.out.println("occurenceTable: " + occurenceTable);
	}
	
	public String getName_15() {
		return name_15;
	}
	public void setName_15(String name_15) {
		this.name_15 = name_15.toUpperCase();
	}
	public String getName_14() {
		return name_14;
	}
	public void setName_14(String name_14) {
		this.name_14 = name_14.toUpperCase();
	}
	public String getName_13() {
		return name_13;
	}
	public void setName_13(String name_13) {
		this.name_13 = name_13.toUpperCase();
	}
	public String getName_12() {
		return name_12;
	}
	public void setName_12(String name_12) {
		this.name_12 = name_12.toUpperCase();
	}
	public String getName_11() {
		return name_11;
	}
	public void setName_11(String name_11) {
		this.name_11 = name_11.toUpperCase();
	}
	public String getName_10() {
		return name_10;
	}
	public void setName_10(String name_10) {
		this.name_10 = name_10.toUpperCase();
	}
	public String getName_9() {
		return name_9;
	}
	public void setName_9(String name_9) {
		this.name_9 = name_9.toUpperCase();
	}
	public String getName_8() {
		return name_8;
	}
	public void setName_8(String name_8) {
		this.name_8 = name_8.toUpperCase();
	}
	public String getName_7() {
		return name_7;
	}
	public void setName_7(String name_7) {
		this.name_7 = name_7.toUpperCase();
	}
	public String getName_6() {
		return name_6;
	}
	public void setName_6(String name_6) {
		this.name_6 = name_6.toUpperCase();
	}
	public String getName_5() {
		return name_5;
	}
	public void setName_5(String name_5) {
		this.name_5 = name_5.toUpperCase();
	}
	public String getName_4() {
		return name_4;
	}
	public void setName_4(String name_4) {
		this.name_4 = name_4.toUpperCase();
	}
	public String getName_3() {
		return name_3;
	}
	public void setName_3(String name_3) {
		this.name_3 = name_3.toUpperCase();
	}
	public String getName_2() {
		return name_2;
	}
	public void setName_2(String name_2) {
		this.name_2 = name_2.toUpperCase();
	}
	public String getName_1() {
		return name_1;
	}
	public void setName_1(String name_1) {
		this.name_1 = name_1.toUpperCase();
	}
	public String getVorname_15() {
		return vorname_15;
	}
	public void setVorname_15(String vorname_15) {
		this.vorname_15 = vorname_15.toUpperCase();
	}
	public String getVorname_14() {
		return vorname_14;
	}
	public void setVorname_14(String vorname_14) {
		this.vorname_14 = vorname_14.toUpperCase();
	}
	public String getVorname_13() {
		return vorname_13;
	}
	public void setVorname_13(String vorname_13) {
		this.vorname_13 = vorname_13.toUpperCase();
	}
	public String getVorname_12() {
		return vorname_12;
	}
	public void setVorname_12(String vorname_12) {
		this.vorname_12 = vorname_12.toUpperCase();
	}
	public String getVorname_11() {
		return vorname_11;
	}
	public void setVorname_11(String vorname_11) {
		this.vorname_11 = vorname_11.toUpperCase();
	}
	public String getVorname_10() {
		return vorname_10;
	}
	public void setVorname_10(String vorname_10) {
		this.vorname_10 = vorname_10.toUpperCase();
	}
	public String getVorname_9() {
		return vorname_9;
	}
	public void setVorname_9(String vorname_9) {
		this.vorname_9 = vorname_9.toUpperCase();
	}
	public String getVorname_8() {
		return vorname_8;
	}
	public void setVorname_8(String vorname_8) {
		this.vorname_8 = vorname_8.toUpperCase();
	}
	public String getVorname_7() {
		return vorname_7;
	}
	public void setVorname_7(String vorname_7) {
		this.vorname_7 = vorname_7.toUpperCase();
	}
	public String getVorname_6() {
		return vorname_6;
	}
	public void setVorname_6(String vorname_6) {
		this.vorname_6 = vorname_6.toUpperCase();
	}
	public String getVorname_5() {
		return vorname_5;
	}
	public void setVorname_5(String vorname_5) {
		this.vorname_5 = vorname_5.toUpperCase();
	}
	public String getVorname_4() {
		return vorname_4;
	}
	public void setVorname_4(String vorname_4) {
		this.vorname_4 = vorname_4.toUpperCase();
	}
	public String getVorname_3() {
		return vorname_3;
	}
	public void setVorname_3(String vorname_3) {
		this.vorname_3 = vorname_3.toUpperCase();
	}
	public String getVorname_2() {
		return vorname_2;
	}
	public void setVorname_2(String vorname_2) {
		this.vorname_2 = vorname_2.toUpperCase();
	}
	public String getVorname_1() {
		return vorname_1;
	}
	public void setVorname_1(String vorname_1) {
		this.vorname_1 = vorname_1.toUpperCase();
	}

	public int getDay_1() {
		return day_1;
	}
	public void setDay_1(int day_1) {
		this.day_1 = day_1;
	}
	public int getDay_2() {
		return day_2;
	}
	public void setDay_2(int day_2) {
		this.day_2 = day_2;
	}
	public int getMonth_1() {
		return month_1;
	}
	public void setMonth_1(int month_1) {
		this.month_1 = month_1;
	}
	public int getMonth_2() {
		return month_2;
	}
	public void setMonth_2(int month_2) {
		this.month_2 = month_2;
	}
	public int getYear_1() {
		return year_1;
	}
	public void setYear_1(int year_1) {
		this.year_1 = year_1;
	}
	public int getYear_2() {
		return year_2;
	}
	public void setYear_2(int year_2) {
		this.year_2 = year_2;
	}
	public int getYear_3() {
		return year_3;
	}
	public void setYear_3(int year_3) {
		this.year_3 = year_3;
	}
	public int getYear_4() {
		return year_4;
	}
	public void setYear_4(int year_4) {
		this.year_4 = year_4;
	}
	public void setNameLetters(){
		this.nameLetters = new ArrayList<String>(Arrays.asList(
							getName_1(),
							getName_2(),
							getName_3(),
							getName_4(),
							getName_5(),
							getName_6(),
							getName_7(),
							getName_8(),
							getName_9(),
							getName_10(),
							getName_11(),
							getName_12(),
							getName_13(),
							getName_14(),
							getName_15()));
		nameLetters = calculator.normalizeLettersList(nameLetters);
	}
	public void setDateOfBirth(){
		this.dateOfBirth = new ArrayList<Integer>(Arrays.asList(
							getDay_1(),
							getDay_2(),
							getMonth_1(),
							getMonth_2(),
							getYear_1(),
							getYear_2(),
							getYear_3(),
							getYear_4()));
		System.out.println("birthDay: " + dateOfBirth);
	}
	public void setDayOfBirth(){
		this.dayOfBirth = new ArrayList<Integer>(Arrays.asList(
				getDay_1(),
				getDay_2()
				));
		System.out.println("Day: " + dayOfBirth);
	}
	
	public List<Integer> getDayOfBirth(){
		return dayOfBirth;
	}
	public void setMonthOfBirth(){
		this.monthOfBirth = new ArrayList<Integer>(Arrays.asList(
				getMonth_1(),
				getMonth_2()
				));
	}
	public List<Integer> getMonthOfBirth(){
		return monthOfBirth;
	}
	public void setyearOfBirth(){
		this.yearOfBirth = new ArrayList<Integer>(Arrays.asList(
				getYear_1(),
				getYear_2(),
				getYear_3(),
				getYear_4()
				));
		
	}
	public List<Integer> getYearOfBirth(){
		return yearOfBirth;
	}
	public String getBirthDateAsString() {
		return birthDateAsString;
	}
	public void setBirthDateAsString() {
		
		this.birthDateAsString = Integer.toString(calculator.computeDateComponent(getDayOfBirth())) 
									+"/"
									+Integer.toString(calculator.computeDateComponent(getMonthOfBirth()))
									+"/"
									+Integer.toString(calculator.computeDateComponent(getYearOfBirth()));
	System.out.println("dateDeNais: " + this.birthDateAsString);
	}
	public List<Integer> getDateOfBirth(){
		return dateOfBirth;
	}
	public void setFirstnameLetters(){
		firstnameLetters = new ArrayList<String>(Arrays.asList(
							getVorname_1(),
							getVorname_2(),
							getVorname_3(),
							getVorname_4(),
							getVorname_5(),
							getVorname_6(),
							getVorname_7(),
							getVorname_8(),
							getVorname_9(),
							getVorname_10(),
							getVorname_11(),
							getVorname_12(),
							getVorname_13(),
							getVorname_14(),
							getVorname_15()));
		firstnameLetters= calculator.normalizeLettersList(firstnameLetters);
		//System.out.println("firstname: " + firstnameLetters);
	}

	public List<String> getNameLetters(){
		return this.nameLetters;
	}
	public List<String> getFirstnameLetters(){
		return this.firstnameLetters;
	}
	public List<String> getFirstAndLastNames() {
		return firstAndLastNames;
	}

	public void setFirstAndLastNames() {
		firstAndLastNames = new ArrayList<String>();
		firstAndLastNames.addAll(getFirstnameLetters());
		firstAndLastNames.addAll(getNameLetters());
		System.out.println(firstAndLastNames);
	}
	public void setInitialesLetters(){
		initialesLetters = new ArrayList<String>();
		initialesLetters.addAll(calculator.computeInitiales(getNameLetters()));
		initialesLetters.addAll(calculator.computeInitiales(getFirstnameLetters()));
		System.out.println("initiales: " + getInitialesLetters());
		
	}
	public List<String> getInitialesLetters(){
		return initialesLetters;
	}
	public void setInitialesLettersMapping(){
		initialesLettersMapping = calculator.lettersToDigitMapping(getInitialesLetters());
		System.out.println("initialesLettersMapping: "+ getInitialesLettersMapping());
		
	}
	public List<Integer> getInitialesLettersMapping(){
		return initialesLettersMapping;
	}
	public List<Integer> getNameLettersMapping() {
		return nameLettersMapping;
	}

	public void setLastnameLettersMapping() {
		nameLettersMapping = calculator.lettersToDigitMapping(getNameLetters());
		System.out.println("nameLettersMapping: "+ getNameLettersMapping());
	}

	public List<Integer> getFirstnameLettersMapping() {
		return firstnameLettersMapping;
	}

	public void setFirstnameLettersMapping() {
		firstnameLettersMapping = calculator.lettersToDigitMapping(getFirstnameLetters());
		System.out.println("firstnameLettersMapping: " + getFirstnameLettersMapping());
	}

	public List<Integer> getFirstAndLastNameMapping() {
		return firstAndLastNameMapping;
	}

	public void setFirstAndLastNameMapping() {
		firstAndLastNameMapping = new ArrayList<Integer>();
		firstAndLastNameMapping.addAll(getFirstnameLettersMapping());
		firstAndLastNameMapping.addAll(getNameLettersMapping());
		System.out.println("firstAndLastNameMapping " + firstAndLastNameMapping);
	}

	public void computeLettreDePassage(){
		Calendar cal = Calendar.getInstance();
		int actualYear = cal.get(Calendar.YEAR);
		System.out.println("year= " + actualYear);
		lettreDePassage = calculator.computeLettreDePassage(actualYear, 
															getYearOfBirth(),
															calculator.getNombreDeLettre(firstAndLastNameMapping));
	}
	public int getLettreDePassage(){
		return lettreDePassage;
	}
	public void computeAnneePersonnelle(){
		anneePersonnelle = calculator.computeNombreAnneePersonelle(null, 
											calculator.computeDateComponent(getDayOfBirth()), 
											calculator.computeDateComponent(getMonthOfBirth()));
		System.out.println("anneePersonnelle: " + anneePersonnelle );
	}
	public int getAnneePersonnelle(){
		return anneePersonnelle;
	}
	public void computeNombreMoisPersonnelle(){
		moisPersonnel = calculator.computeNombreMoisPersonnelle(getAnneePersonnelle(), null);
		System.out.println("moisPersonnelle: " + moisPersonnel );
	}
	public int getMoisPersonnel(){
		return moisPersonnel;
	}
	
	public void computeNombreJourPersonnel(){
		jourPersonnel = calculator.computeNombreJourPersonnel(getMoisPersonnel(), null);
		System.out.println("jourPersonnelle: " + jourPersonnel);
	}
	public int getJourPersonnel(){
		return jourPersonnel;
	}
	
	
}
